Repository navigation
Analytics: детализация кейсов и полные XLSX-выгрузки в Angular - #387
Merged
Merged
Conversation
10 of 11 tasks
TThanos3000
deleted the
feature/dev-analytics-case-drilldown-angular
branch
September 28, 2026 19:11
This was referenced Sep 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что изменено
Клик по кейсу в Analytics открывает существующий AnalyticsDrilldown со списком проектов, лидером/командой, сдачей и презентацией. Добавлены общий и scoped XLSX, поиск, pagination и состояния desktop/mobile.
Зачем
Менеджер может перейти от агрегатов к проектам и выгрузить полный кейс независимо от поиска. Поддерживаются нулевой configured case и «Без выбранного кейса» без definition/options.
Утверждённая specification, review / AC01–AC19 / screenshots / dev checklist.
Связанный backend: PROCOLLAB-github/api#760 — внедрить первым.
Реализация
Существующие AnalyticsDrilldown, Button/Input/Loader и table/mobile pattern расширены без нового route или modal system.
Domain DTO, repository/adapter, два use-case и локальный facade следуют текущей архитектуре. Перед разрешением и каждым запросом XLSX проверяется новый DTO и exact scope; legacy HTTP 200 не включает export.
Смена case/program, закрытие и destroy отменяют list/file; повторный export блокируется. Search не влияет на полный bucket выгрузки.
Vitest inline-ит Angular и Angular consumers: устранено смешение Node/Vite Angular instances в Windows TestBed. Runtime dependencies не менялись.
Ветка проверена поверх dev
69f84902; история других веток не переносится.API
Используется compatible extension существующих projects/export-projects endpoints:
view=case_analytics,case_scope=all|selected|without_case, exactcase_nameтолько для selected.List: search/limit/offset. Export: только scope, без search/pagination. Источник презентации —
Project.presentation_address.Legacy exports и другие drilldowns сохраняются. Case name не используется как identity without_case.
UI
Approved Figma section 30:1518, семь состояний 31:1523 / 1643 / 1744 / 1798 / 1864 / 1925 / 1981.
Mont и production Analytics visual continuity сохранены. Четыре колонки, без «Кейс» и evaluation metrics внутри modal. Impeccable использован только для hierarchy/grouping/density/refinement.
Исправлены ширина case modal, размер export button и mobile search grouping; Figma/DS не менялись.
Permissions
Прежний manager UI gate сохранён, staff/superuser UI access не расширен. Server-side permission matrix проверена backend PR; Angular различает 401/403/404 и блокирует export при ошибке контракта/доступа.
Проверки
npm run test:ci -- --maxWorkers=4: 1934 tests / 400 files PASS, Node 24.18.0, текущая dev base.npm run build:pr: PASS; существующие Sass deprecation warnings.npm run lint:ts: PASS, 0 errors / 6 существующих warnings вне feature.git diff --check.npm run format:checkв Windows checkout: FAIL из-за CRLF и локального debug cache; Git-файлы проверены отдельно, постороннее форматирование не включено.Acceptance criteria
Для каждого AC отдельные source/test/browser evidence приведены в review. PASS не означает live dev acceptance.
Не проверено
Live dev/production и deployed SHA, full-stack browser с настоящим auth/API, production build/image, Excel GUI, production-scale XLSX time/memory, полный screen-reader/zoom/contrast audit. Browser QA использовал mock repository/API fixtures.
Angular pull_request CI отсутствует; существующие push workflows включают deploy и вручную не запускались. Node 20 отдельно не проверялся. Три существующих Vitest exclusions сохранены.
Риски / migration
Migration не нужна. Порядок: backend #760 → проверка нового API на dev → этот Angular PR → dev acceptance по checklist в review.
List/export contract должны выпускаться одной backend-версией; старый backend может игнорировать query params, поэтому frontend проверяет DTO перед выгрузкой.
Merge и production deploy выполняет пользователь.